package com.jic.member.service;


import com.jic.member.request.TestSendMessageRequest;
import com.jic.member.response.MessageResponse;

import java.util.List;

/**
* 消息发送业务处理
* @author : MJ
* @email : 
* @since : 2020-06-08 11:03:19
* @version : v1.0.0
*/
public interface MessageService {


    /**
     * 触达方式-邮件测试发送
     * @param testSendMessageRequest
     * @return
     */
    public MessageResponse sendTestMessage(TestSendMessageRequest testSendMessageRequest);


    /**
     * 执行动作-邮件发送
     * @param tripId
     * @param branchNodeId
     * @param userIds
     * @return
     */
    public Boolean branchNodeBySendMail(Long tripId, Long branchNodeId, List<String> userIds);

    /**
     * 执行动作-短信发送
     * @param tripId
     * @param branchNodeId
     * @param userIds
     * @return
     */
    public Boolean branchNodeBySendSms(Long tripId, Long branchNodeId, List<String> userIds);

    /**
     * 执行动作-推送商品
     * @param tripId
     * @param branchNodeId
     * @param userIds
     * @return
     */
    public Boolean branchNodeBySendGoods(Long tripId, Long branchNodeId, List<String> userIds);

    /**
     * 执行动作-发送消息（短信、邮件、AppPush、公众号）
     * 发放优惠券、红包、推送活动、商品
     * @param tripId
     * @param branchNodeId
     * @param userIds
     * @return
     */
    public  Boolean branchNodeBySendMessage(Long tripId, Long branchNodeId, List<String> userIds);
}